# -*- coding: utf-8 -*-

# === ユーザー個人の設定情報管理コントローラ
class Common::SettingsController < ApplicationController
  before_filter :check_setting

  # === ユーザー個人情報の更新画面表示
  def edit
  end

  # === ユーザー個人情報の更新実行
  def update
    if @setting.update_attributes(params[:setting])
      redirect_to "/", :notice => "個人設定を更新しました。"
    else
      render :action => "edit"
    end
  end

  private

  # 更新対象となるユーザー個人設定の読み込み
  # 他者の個人設定を変更できないよう、ここでチェックを行っている。
  def check_setting
    @setting = Setting.find(params[:id])
    unless @setting == current_user.setting
      redirect_to "/", :notice => "変更権限がありません。"
      return false
    end
    return true
  end
end
